﻿#include<iostream>
#include<vector>
using namespace std;

// 勋章类
class Medal {
private:
    std::string name_;
    // 勋章名称
    int requiredTomatoes_;
    // 所需番茄数
    bool awarded_;
    // 是否已授予
public:
    Medal(const std::string& name, int requiredTomatoes)
        : name_(name), requiredTomatoes_(requiredTomatoes) {}
    // 获取勋章名称
    std::string getName() const { return name_; }
    // 获取所需番茄数
    int getRequiredTomatoes() const { return requiredTomatoes_; }
    // 授予勋章
    void awardMedal() { awarded_ = true; }
    bool isAwarded() const { return awarded_; }
};

// 成就系统类
class AchievementSystem {
private:
    vector<Medal> medals_; 
    // 存储勋章
public:
    // 添加一个勋章
    void addMedal(const Medal& medal) {
        medals_.push_back(medal);
    }
    // 检查用户是否满足某个勋章的授予条件
    bool checkMedalEligibility(int tomatoesEarned);
        // 授予用户所有可获得的勋章
    void awardAvailableMedals(int tomatoesEarned);
    // 获取所有已授予的勋章
    std::vector<Medal> getAwardedMedals() const;
};